This relates generally to graphics processing and particularly to entropy encoding and decoding.
Data compression plays an important role in computer systems by reducing resource usage in both storage and networking. However, data compression also results in additional computational costs. By representing information in a more compact form rather than its original uncompressed form, bandwidth may be reduced. However, some extra processing is needed to convert the data to its compressed format. In other words, using data compression, the size of a particular file can be reduced. Compression is useful when processing, storing or transferring a huge amount of data which results in significant use of resources.
Compression is classified as either lossy or lossless. Lossless compression techniques reconstruct the original data from the compressed file without any loss of data. Thus the information does not change during a compression and decompression processes. These kinds of compression algorithms are also called reversible compression since the original message is reconstructed by the decompression process.
Entropy encoding is a lossless data compression scheme that is independent of the specific characteristics of the medium. By improving an entropy value, one can improve the compression ratio. An encoding technique which has better entropy uses fewer bits to encode the data and therefore achieves more compression represented by a better compression ratio.
Entropy encoding is especially advantageous in media and image applications.
Most lossless compression algorithms perform two steps in sequence. The first step generates a statistical model for the input data. The second step uses this model to map input data to bit sequences in such a way that more probable or more frequently encountered data produces a shorter output than less probable data.
The predictor term takes an input data and tries to reduce its redundancy using a delta computation between neighboring input elements. This kind of mechanism is ideally suited to image and video applications, because the relative differences between neighboring pixels usually does not change a great deal. After computation of the delta values, these values may be encoded using a predefined statistical model.
The statistical model gives information about the probability of the occurrence of the symbols or events. Using this information, an entropy encoder uses a predefined prefix encoding or variable length encoding technique to convert the symbols into compressed data. This information varies with the application. For example, media will have one set of probability values per symbol and text data may have different values.
Compression depends on the way the delta computation is done and the way the encoding is done using a statistical model.